all: a.o b.o h.so p.out
	nm -n a.o > a.nm
	nm -n b.o > b.nm
	nm -n h.so > h.nm
	nm -n p.out > p.nm
	objdump -D a.o > a.asm
	objdump -D b.o > b.asm
	objdump -D h.so > h.asm
	objdump -D p.out > p.asm
	readelf -S a.o > a.sections
	readelf -S b.o > b.sections
	readelf -S h.so > h.sections
	readelf -S p.out > p.sections

a.o: a.c
	gcc -m32 -c a.c

b.o: b.c
	gcc -m32 -c b.c

h.so: a.o b.o
	gcc -m32 -shared -fPIC -o h.so a.o b.o

p.out: p.c
	gcc -m32 -o p.out p.c

clean:
	ls -l | grep -vE '\.cpp|\.c|Makefile' | awk '{print $$9}' | xargs rm -vf
